package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.PurchaseList;

import javax.servlet.http.HttpSession;
import java.util.Map;

/**
 * @description
 */
public interface PurchaseListGoodsService {

    /**
     * 保存进货单信息
     * @param purchaseList 进货单信息实体
     * @param purchaseListGoodsStr 进货商品信息JSON字符串
     * @return
     */
    void save(PurchaseList purchaseList, String purchaseListGoodsStr, HttpSession session);

    /**
     * 查询进货单
     * @param purchaseNumber 单号
     * @param supplierId 供应商ID
     * @param state 付款状态
     * @param sTime 开始时间
     * @param eTime 结束时间
     * @return
     */
    Map<String, Object> list(String purchaseNumber, Integer supplierId, Integer state, String sTime, String eTime);

    /**
     * 查询进货单商品信息
     * @param purchaseListId 进货单ID
     * @return
     */
    Map<String, Object> goodsList(Integer purchaseListId);

    /**
     * 删除进货单及商品信息
     * @param purchaseListId 进货单ID
     * @return
     */
    void delete(Integer purchaseListId);

    /**
     * 修改进货单付款状态
     * @param purchaseListId 进货单ID
     * @return
     */
    void updateState(Integer purchaseListId);

    /**
     * 进货商品统计
     * @param sTime 开始时间
     * @param eTime 结束时间
     * @param goodsTypeId 商品类别ID
     * @param codeOrName 编号或商品名称
     * @return
     */
    String count(String sTime, String eTime, Integer goodsTypeId, String codeOrName);
}
